package com.itcam.functionprogram_.chapter03.stream;

import java.util.stream.Stream;

public class C01FilterTest {
    public static void main(String[] args) {
        Stream.of(
                        new Fruit("草莓", "Strawberry", "浆果", "红色"),
                        new Fruit("桑葚", "Mulberry", "浆果", "紫色"),
                        new Fruit("杨梅", "Waxberry", "浆果", "红色"),
                        new Fruit("核桃", "Walnut", "坚果", "棕色"),
                        new Fruit("花生", "Peanut", "坚果", "棕色"),
                        new Fruit("蓝莓", "Blueberry", "浆果", "蓝色")
                )
                .filter(f->f.category().equals("浆果") && f.color().equals("蓝色"))
//                .filter(f->f.category().equals("浆果"))
//                .filter(f->f.color().equals("蓝色"))
                .forEach(System.out::println);

    }

    record Person(String name, int age) {
    }

//    记录类不能被继承，只能被直接使用。
//    字段名应该使用小写字母，并且用下划线分隔，以符合Java的命名规范。
//    构造函数是自动生成的，如果需要自定义构造函数，需要使用new关键字。
//    getter和setter方法是自动生成的，如果需要自定义getter或setter方法，需要使用get和set关键字。
//    注意不要在字段上使用public、private或protected关键字，因为这些关键字在记录类中是无效的。
    record Fruit(String cname, String name, String category, String color) {
    }
}
